/-app
/-docs
/-files
/-fs ...
/-fs/attached
FileSystem.ts
/-imports
/-storage
/-typings
errors.js
functions.ts
index.html
try.js
x
16
    uniqueId: string,
17
    domLoader: fs.attached.DriveLoader,
18
    dynamicDriveLoaders: fs.attached.DriveLoader[],
19
    callback: (error: Error, fs: FileSystem) => void) {
20
      
21
    domLoader.load(
22
      uniqueId,
23
      (error, domTimestamp, domFiles, domDrive) => {
24
​
25
        var loadIndex = 0;
26
​
27
        tryLoadNext();
28
​
29
        function tryLoadNext() {
30
​
31
          if (loadIndex < dynamicDriveLoaders.length) {
32
            var loader = dynamicDriveLoaders[loadIndex];
33
​
34
            loader.load(uniqueId, (error, timestamp, files, drive) => { 
35
              if (error) {
36
                tryLoadNext();
37
              }
38
              else {
39
                dynamicDriveSearchCompleted(timestamp, files, drive);
40
              }
41
            });
42
          }
43
          else {
44
            dynamicDriveSearchCompleted(null, null, null);
45
          }
46
        }
47
​
48
        function dynamicDriveSearchCompleted(dynamicTimestamp: number, dynamicFiles: string[], dynamicDrive: any) {
49
          if (dynamicDrive) {
50
            if (dynamicTimestamp > domTimestamp) {
51
              if ((<fs.attached.AsyncDrive>dynamicDrive).readAsync)
52
                updateFromAsyncDynamic(dynamicDrive);
53
              else
54
                updateFromSyncDynamic(dynamicDrive);
55
            }
56
            else { 
57
              if ((<fs.attached.AsyncDrive>dynamicDrive).readAsync)
58
                purgeAsyncDynamic(dynamicDrive);
59
              else
60
                purgeSyncDynamic(dynamicDrive);
61
            }
62
          }
63
          else {
64
            callback(null, new FileSystem(domTimestamp, domFiles, domDrive, null));
65
          }
66
          
67
          function updateFromAsyncDynamic(dynamicDrive: fs.attached.AsyncDrive) {
68
          }
69
​
70
          function updateFromSyncDynamic(dynamicDrive: fs.attached.SyncDrive) {
71
          }
72
​
73
          function purgeAsyncDynamic(dynamicDrive: fs.attached.AsyncDrive) {
74
          }
75
​
76
          function purgeSyncDynamic(dynamicDrive: fs.attached.SyncDrive) {
77
          }
78
        }
79
​
80
        
81
    });
82
​
83
  }
84
  
85
}
57:31 function (dynamicDrive: AsyncDrive) => void